package com.mage.completeproject.listener;

import org.springframework.context.ApplicationContextInitializer;
import org.springframework.context.ConfigurableApplicationContext;

public class HelloApplicationContextInitializer implements ApplicationContextInitializer<ConfigurableApplicationContext> {
    //ConfigurableApplicationContext：IOC容器

    /**
     * 1.用于在spring容器刷新之前初始化Spring ConfigurableApplicationContext的回调接口。
     * （简短说就是在容器刷新之前调用该类的 initialize 方法。并将 ConfigurableApplicationContext 类的实例传递给该方法）
     * 2.通常用于需要对应用程序上下文进行编程初始化的web应用程序中。例如，根据上下文环境注册属性源或激活配置文件等。
     * 3.可排序的（实现Ordered接口，或者添加@Order注解）。
     */
    @Override
    public void initialize(ConfigurableApplicationContext applicationContext) {
        System.out.println("ApplicationContextInitializer...initialize..."+applicationContext);
    }
}
